<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Title</title>
</head>
<body>

</body>
<script>
	// 6、promise异常传透?
	// 	(1) 当使用promise的then链式调用时, 可以在最后指定失败的回调,
	// 	(2) 前面任何操作出了异常, 都会传到最后失败的回调中处理
	{
		// const p = new Promise((resolve,reject)=>{
		// 	setTimeout(()=>{
		// 		reject(1)
        //     })
        // })
		// 1- 省略成功回调
        // const p1 = p.then();
		// 相当于写了以下代码：
        // const p1 = p.then(function(value){
		// 	return value
        // })
		// console.log(p1);

        // 2- 省略失败回调
        // const p1 = p.then();
		// 相当于写了以下代码
        // const p1 = p.then(undefined,reason=>{
		// 	throw reason;
        // });
		// console.log(p1);
    }
	{
		const p = new Promise((resolve,reject)=>{
			setTimeout(()=>{
				resolve(1);
            })
        });
		p.then(value=>{
			console.log("成功回调1",value);// 1
			return value+2;
        }).then(value=>{
			console.log("成功回调2",value);// 3
			throw value+100;
        }).then(value=>{
			console.log("成功回调3",value);// 6
			return value+3;
		}).then(value=>{
			console.log("成功回调4",value);// 9
			return value+3;
		}).then(value=>{
			console.log("成功回调5",value);// 12
			return value+3;
		}).then(value=>{
			console.log("成功回调6",value);// 15
        }).catch(reason=>{
			console.log("catch",reason);
        })
    }
</script>
</html>